# tell返回指针当前所在的位置
with open('Test.txt','r') as f:
    print(f.read(3))
    print(f.tell())#返回从文件开始到当前文件指针位置的字节偏移量
    print(f.read(2))
    print(f.tell())#中文占用两个字节
    pass
# truncate可以对源文件进行截取操作
fobjB=open('Test.txt','r')
print(fobjB.read())
fobjB.close()
print('截取之后的数据......')
fobjA=open('Test.txt','r+')
fobjA.truncate(15)#截取文件的前15个字节，文件指针仍然位于文件的开头
print(fobjA.read())
fobjA.close()
# seek(offset[,whence])移动文件位置指针到指定位置
# offset:表示偏移量，也就是需要偏移的字节数。
# whence:可选参数，表示起始位置，默认值0，表示从文件开始位置计算偏移量，1表示从文件当前位置计算偏移量，2表示从文件末尾位置计算偏移量。
with open('Test_备份.txt','rb') as f:
    data=f.read(2)
    print(data.decode('gbk'))
    f.seek(-2,1)#指针回到文件开头
    print(f.read(4).decode('gbk'))
    f.seek(-6,2)#指针从文件末尾开始，向前移动6个字节
    print(f.read(4).decode('gbk'))
    pass
# 以文本文件格式打开文件时，seek()方法中的whence参数取值只能是0，即只允许从文件开始位置计算偏移量，若想从当前位置或文件末尾位置计算偏移量，需要使用"b"模式(二进制格式)打开文件。
